package fr.miage.course7.app.view;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;

/**
 * Permet de peindre une ligne entre deux points.
 * @author Jean-Yannick TILIN
 * @author Alexandre JAHAN
 *
 */
public class LineDrawable extends FormDrawable {

    /**
     * Taille de la police.
     */
    private final int taille = 15;

    /**
     * Constructeur de la classe.
     * @param color Couleur de la ligne
     * @param x1 Coordonnée en abscisse du 1er point
     * @param y1 Coordonnée en ordonnée du 1er point
     * @param x2 Coordonnée en abscisse du 2ème point
     * @param y2 Coordonnée en ordonnée du 2ème point
     */
    public LineDrawable(final Color color, final int x1, final int y1,
                                           final int x2, final int y2) {
        super(color, x1, y1, x2, y2);
    }

    /**
     * Méthode qui permet de dessiner une ligne ayant une couleur définie à un point défini.
     * @param g Graphics contenant la ligne
     */
    public final void draw(final Graphics g) {
        Color c = g.getColor();
        g.setColor(color);
        Font font = new Font("times New Roman", Font.BOLD, taille);
        g.setFont(font);
        g.drawLine(x1, y1, x2, y2);
        g.setColor(c);
    }
}
